
\begin{tikzpicture}[>=latex,every node/.style={anchor=south west,,inner sep=0,fill=white}]
	
	% \node[anchor=north,fill=green!20,draw,thick,rounded corners=0.3em] (s2)at ([xshift=6em,yshift=0em]t1.north){目标语言};
	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
	\node at (0,0) (SYNBL){
		\begin{tabular}{|C{2em}|C{2em}|C{2em}|C{2em}|}
			\hline 
			exp & rtp & f & \\ \hline
			$x$ & rtp & vf & v2 \\ \hline
			$y$ & itp & vn & v3 \\ \hline
			pai & rtp & c & \\ \hline
			arr & & t & \\ \hline
			$a$ & & v & v4\\ \hline
			$b$ & rtp & v & v5\\ \hline
		\end{tabular}
	};
	\node at ([xshift=-6em,yshift=0.5em]SYNBL.north){SYNBL};
	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
	\node[fill=blue!20] at ([xshift=-5em,yshift=-9em]SYNBL.south) (TYPEL){
		\begin{tabular}{|C{4em}|C{2em}|}
			\hline
			c, i, r, b & \\ \hline
			a & \\ \hline
			a & \\ \hline
		\end{tabular}
	};
	\node at ([xshift=-4em,yshift=0.5em]TYPEL.north){TYPEL};
	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
	\node at ([xshift=1em,yshift=-0.65em]TYPEL.east)(AINFL){
		\begin{tabular}{|C{1em}|C{1em}|C{2em}|C{1em}|}
			\hline
			1 & 5 & & 10 \\ \hline
		\end{tabular}
	};
	\node at ([xshift=-4em,yshift=0.5em]AINFL.north){AINFL};
	\node at ([xshift=1em,yshift=-2.15em]TYPEL.east)(AINFL1){
		\begin{tabular}{|C{1em}|C{1em}|C{2em}|C{1em}|}
			\hline
			1 & 10 & itp & 1 \\ \hline
		\end{tabular}
	};
	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
	\node[fill=red!20] at ([xshift=2em,yshift=0em]SYNBL.east)(CONSL){
		\begin{tabular}{|C{3em}|}
			\hline
			3.14 \\
			\hline
		\end{tabular}
	};
	\node at ([xshift=-2em,yshift=0.2em]CONSL.north){CONSL};
	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
	\node[fill=red!60] at ([xshift=2em,yshift=-2.5em]SYNBL.east)(LENL){
		\begin{tabular}{|C{3em}|}
			\hline
			50 \\
			\hline
		\end{tabular}
	};
	\node at ([xshift=-2em,yshift=0.2em]LENL.north){LENL};
	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
	\node[fill=yellow!20] at ([xshift=4em,yshift=3.05em]SYNBL.east)(PFINFL){
		\begin{tabular}{|C{3em}|C{3em}|C{3em}|C{3em}|C{3em}|C{3em}|}
			\hline
			? & &2 & ENT & &...\\ \hline
		\end{tabular}
	};
	\node at ([xshift=-12em,yshift=0.5em]PFINFL.north){PFINFL};
	\node[fill=yellow!20] at ([xshift=-4em,yshift=-5em]PFINFL.south)(PFINFL1){
		\begin{tabular}{|C{3em}|C{3em}|C{3em}|C{3em}|}
			\hline
			$x$ & rtp & vf & v2\\ \hline
			$y$ & itp &vn & v3 \\ \hline
		\end{tabular}
	};
	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
	\node[fill=blue!20] at ([xshift=-4.5em,yshift=-12em]PFINFL1.south)(VALL){
		\begin{tabular}{|C{6em}|}
			\hline
			临时变量值区\\ \hline
			$b$值\\ \hline
			数组$a$值区\\ \hline
			链接表\\ \hline
			$y$值\\ \hline
			$x$值\\ \hline
			exp值\\ \hline
			管理区\\ \hline
		\end{tabular}
	};
	\node at ([xshift=-4em,yshift=0.5em]VALL.north){VALL};
	\node at ([xshift=-1.5em,yshift=2.8em]VALL.west){v5};
	\node at ([xshift=-1.5em,yshift=1.6em]VALL.west){v4};
	\node at ([xshift=-1.5em,yshift=-1.1em]VALL.west){v3};
	\node at ([xshift=-1.5em,yshift=-2.3em]VALL.west){v2};
	\node at ([xshift=-1.5em,yshift=-3.5em]VALL.west){v1};
	\draw[blue!60, -{Triangle[width = 18pt, length = 8pt]}, line width = 10pt] ([xshift=2em,yshift=-5em]VALL.east) -- ([xshift=2em,yshift=5em]VALL.east);
	\draw[->] ([xshift=-2em,yshift=3.7em]SYNBL.east) --(PFINFL.west);
	\draw[->] ([xshift=-2em,yshift=0em]SYNBL.east) --(CONSL.west);
	\draw[->] ([xshift=-2em,yshift=-1.25em]SYNBL.east) --(LENL.west);
	\draw[->] ([xshift=4em,yshift=-1.5em]SYNBL.west)-|++(-5em,-10em)|-++(2.3em,0em);
	\draw     ([xshift=4em,yshift=-2.8em]SYNBL.west)--([xshift=-1em,yshift=-2.8em]SYNBL.west);
	\draw[->] ([xshift=-2em,yshift=0em]TYPEL.east) --(AINFL.west);
	\draw[->] ([xshift=-2em,yshift=-1.5em]TYPEL.east) --(AINFL1.west);
	\draw[->] ([xshift=6.4em,yshift=0.8em]PFINFL.south) --([xshift=2em,yshift=0em]PFINFL1.north);
	\draw[->] ([xshift=1em,yshift=0em]AINFL.north)|-++(0,3em)-|([xshift=-1em,yshift=-1.3em]TYPEL.west)|-++(1em,0em);
	\draw[->] ([xshift=-6.4em,yshift=0.8em]PFINFL.south) |-([xshift=-2em,yshift=-3.2em]VALL.west);
	\draw     ([xshift=0em,yshift=1.2em]VALL.west)--([xshift=7.2em,yshift=0em]VALL.west);
	\draw     ([xshift=7.2em,yshift=1.2em]VALL.west)--([xshift=0em,yshift=0em]VALL.west);
	\draw     ([xshift=-3.2em,yshift=0.6em]TYPEL.east) --([xshift=0em,yshift=1.8em]TYPEL.east);
	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
	
\end{tikzpicture}